Search for needle in haystack. Return the position of needle in
haystack or -1 if not found. If the optional argument start is present
search is started at this position. Note that when haystack is a string
needle must be a string, and the first occurance of this string is
returned. However, when haystack is an array, needle is compared only
to one value at a time in haystack.
When the haystack is a mapping, search tries to find the index
connected to the data needle. That is, it tries to lookup the mapping
backwards. If needle isn't present in the mapping, zero is returned,
and zero_type() will return 1 for this zero.